package com.softeem.score.manager.controller.admin;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;

public class ExcelReader {

    public static void main(String[] args) {
        // Excel 文件路径
        String filePath = "D:\\Users\\朱澳洲\\Desktop\\2023年 第1学期UML建模002学生成绩表 (1).xlsx";

        EasyExcel.read(filePath, new AnalysisEventListener<Object>() {
            // 定义一个变量用于保存表头数据
            private List<Object> headerData = new ArrayList<>();

            @Override
            public void invoke(Object object, AnalysisContext context) {
                // 判断是否是表头行，这里假设表头在第一行
                if (context.getCurrentRowNum() == 0) {
                    // 将表头数据保存到变量中
                    headerData.add(object);
                } else {
                    // 如果不是表头行，可以在这里处理正常数据的逻辑
                    System.out.println("object = " + object);
                }
            }

            @Override
            public void doAfterAllAnalysed(AnalysisContext context) {
                // 所有数据解析完成后的操作
                String name = context.readSheetHolder().getSheetName();
                System.out.println("当前工作表名称------：" + name);
                // 输出表头数据
                System.out.println("表头数据：" + headerData);
            }
        }).sheet().doRead();
    }
}